BlueprintScriptLibrary::NativeMethodPin* ConstructAddMethod() {
    std::function<void(ArrayVaribleEntity*, BlueprintScriptLibrary::VarBaseInt)> f = std::bind(&ArrayVaribleEntity::Add, std::placeholders::_1, std::placeholders::_2);
    BlueprintScriptLibrary::NativeMethodPin* fp = new BlueprintScriptLibrary::NativeMethodPin;
    std::vector<BlueprintScriptLibrary::Var*> vbs;
    BlueprintScriptLibrary::Array<BlueprintScriptLibrary::Var> inputArray(1);
    BlueprintScriptLibrary::Array<BlueprintScriptLibrary::Var> outputArray(1);
    std::function<BlueprintScriptLibrary::Var** (BlueprintScriptLibrary::Object*, BlueprintScriptLibrary::Var**)> func = [f](BlueprintScriptLibrary::Object* obj, BlueprintScriptLibrary::Var** input)->BlueprintScriptLibrary::Var** {
        ArrayVaribleEntity* mc = dynamic_cast<ArrayVaribleEntity*>(obj);
        BlueprintScriptLibrary::VarBaseInt* input0 = dynamic_cast<BlueprintScriptLibrary::VarBaseInt*>(input[0]);
        f(mc, *input0);
        };
    fp->Init("Add", inputArray.data, outputArray.data, func);
    return fp;
}